// 通过云数据库函数 找到数据库中对应的表collection
const DB = wx.cloud.database().collection("list");
Page({
  data:{
    userList:[],//用户列表
    name:'',//姓名
    age:'',//年龄
    id:'',
    changeId:'',//更新的id
    changeAge:'',//更新的年龄
    changeName:'',//更新的姓名
    imgurl:'cloud://bczx-aktna.6263-bczx-aktna-1259351067/1619687670565.png',//上传的图片
    tempFilePaths:'',//上传图片的临时路径
    videoUrl:'cloud://bczx-aktna.6263-bczx-aktna-1259351067/1619745890882.mp4',//上传的视频
    fileUrl:'cloud://bczx-aktna.6263-bczx-aktna-1259351067/1619748095266.docx',//上传的文件的路径
  },
  //添加数据
  addData(){
    var vm =  this;
    if(!this.data.name){
      wx.showToast({
        title: '姓名不能为空',
        icon: 'error',
        duration: 2000
      });
      return;
    };
    if(!this.data.age){
      wx.showToast({
        title: '年龄不能为空',
        icon: 'error',
        duration: 2000
      });
      return;
    };
    DB.add({
      data:{
        name:this.data.name,
        age:this.data.age,
      },
      success(res){
        console.log('添加成功',res);
        wx.showToast({
          title: '添加成功',
          icon: 'success',
          duration: 2000
        });
        vm.clear();
      },
      fail(res){
        console.log('添加失败',res);
      }
    })
  },
  // 查询数据
  getData(){
    var vm = this;
    DB.get({
      success(res){
        vm.setData({
          userList:res.data,
        });
        console.log('用户列表',vm.data.userList);
        console.log('查询数据成功',res);
      },
      fail(res){
        console.log('查询数据失败',res);
      }
    })
  },
  //删除数据
  delData(){
    var vm = this;
    const id = this.data.id;
    if(!id){
      wx.showToast({
        title: '用户id不能为空',
        icon:'none',
      })
      return;
    };
   
    wx.showLoading({
      title: '删除中',
    });
    DB.doc(id).remove({
      success(res){
        console.log('删除数据成功',res);
        setTimeout(function () {
          wx.hideLoading({
            title:'删除中',
            success: (res) => {
              wx.showToast({
                title: '删除数据成功',
                icon: 'success',
                duration: 2000
              });
              vm.getData();
            },
          })
        }, 1000);
      },
      fail(res){
        console.log('删除数据失败',res);
      }
    })
  },
  //获取姓名输入的值
  heandInputName(e){
    const name = e.detail.value;
    this.setData({
      name
    });
  },
  //获取年龄输入的值
  heandInputAge(e){
    const age = e.detail.value;
    this.setData({
      age
    });
  },
  //清空数据信息
  clear(){
    this.setData({
      name: '',
      age:'',
    })
  },
  //获取删除的id
  heandInputId(e){
    const id = e.detail.value;
    this.setData({
      id
    });
  },
  //复制
  copy(e){
    var vm = this;
    console.log('复制功能实现',e.currentTarget.dataset.id);
    vm.setData({
      id:e.currentTarget.dataset.id
    });
    wx.setClipboardData({
      data: vm.data.id,
      success (res) {
        wx.getClipboardData({
          success (res) {
            console.log(res.data) 
          }
        })
      }
    })
  },
  //要更新的数据 id
  heandInputChangeName(e){
    const changeId = e.detail.value;
    this.setData({
      changeId
    });
  },
  //要更新的数据 age
  heandInputChangeAge(e){
    const changeAge = e.detail.value;
    this.setData({
      changeAge
    });
  },
  //要更新的数据 name
  heandInputChangeName(e){
    const changeName = e.detail.value;
    this.setData({
      changeName
    });
  },
  //修改数据
  changeData(){
    var vm = this;
    const id = this.data.id;
    const changeName = this.data.changeName;
    const changeAge = this.data.changeAge;
    DB.doc(id).update({
      data:{
        name:changeName,
        age:changeAge,
      },
      success(res){
        console.log('更新数据成功',res);
        vm.getData();
      },
      fail(res){
        console.log('更新数据失败',res);
      }
    })
  },
  //云函数加法  云函数的调用
  addcloud(){
    wx.cloud.callFunction({
      name:'add',
      data:{
        a:10,
        b:20,
      },
      success(res){
        console.log('请求成功',res);
      },
      fail(res){
        console.log('请求失败',res);
      }

    })
  },
  //获取用户openid
  getOpenid(){
    wx.cloud.callFunction({
      name:'getopenid',
      success(res){
        console.log('请求成功',res);
        console.log('用户openid',res.result.openid);
      },
      fail(res){
        console.log('请求失败',res);
      }
    });
  },
  //数据库api获取数据
  shujuku(){
    wx.cloud.database().collection("user").get({
      success(res){
        console('获取成功',res);
      },
      fail(res){
        console('获取失败',res);
      }
    })
  },
  //api获取数据
  yunhanshu(){
    wx.cloud.callFunction({
      name:'getuser',
      success(res){
        console.log('请求成功',res.result.data[0]);
      },
      fail(res){
        console.log('请求失败',res);
      }
    })
  },
  //上传图片
  upload(){
    var vm = this;
    wx.chooseImage({
      count: 1,
      sizeType: ['original', 'compressed'],
      sourceType: ['album', 'camera'],
      success (res) {
        // tempFilePath可以作为img标签的src属性显示图片
        const tempFilePaths = res.tempFilePaths;
        vm.setData({
          tempFilePaths:res.tempFilePaths,
        });
        console.log('tempFilePaths',tempFilePaths);
        wx.cloud.uploadFile({
          cloudPath: new Date().getTime()+'.png', // 上传至云端的路径
          filePath: tempFilePaths[0], // 小程序临时文件路径
          success: res => {
            // 返回文件 ID
            console.log('res',res);
            console.log(res.fileID);
            vm.setData({
              imgurl:res.fileID
            });
          },
          fail: console.error
        })
      }
    })
  },
  //上传视频
  uploadvideo(){
    var vm = this;
    wx.chooseVideo({
      sourceType: ['album','camera'],
      maxDuration: 60,
      camera: 'back',
      success(res) {
        console.log(res.tempFilePath);
        const tempFilePaths = res.tempFilePath;
        wx.cloud.uploadFile({
          cloudPath: new Date().getTime()+'.mp4', // 上传至云端的路径
          filePath: tempFilePaths, // 小程序临时文件路径
          success: res => {
            // 返回文件 ID
            vm.setData({
              videoUrl:res.fileID
            });
          },
          fail: console.error
        })
      }
    })
  },
  //上传文档
  uploadExcel(){
    var vm = this;
    console.log('上传文档');
    wx.chooseMessageFile({
      count: 10,
      type: 'all',
      success (res) {
        // tempFilePath可以作为img标签的src属性显示图片
        console.log('res',res);
        const tempFilePaths = res.tempFiles[0].path;
        wx.cloud.uploadFile({
          cloudPath: new Date().getTime()+'.docx', // 上传至云端的路径
          filePath: tempFilePaths, // 小程序临时文件路径
          success: res => {
            console.log('上传成功',res);
            // 返回文件 ID
            vm.setData({
              fileUrl:res.fileID
            });
          },
          fail: console.error
        })
      }
    })
  },
  //下载并打开文件
  openExcel(){
    var vm = this;
    wx.cloud.downloadFile({
      fileID: vm.data.fileUrl, // 文件 ID
      success: res => {
        // 返回临时文件路径
        console.log(res.tempFilePath);
        wx.openDocument({
          showMenu:'true',
          fileType:'docx',
          filePath: res.tempFilePath,
          success: function (res) {
            console.log('打开文档成功');
          },
        })
      },
      fail: console.error
    });
  },
  //下载视频资源
  downloadvideo(){
    var vm = this;
    console.log('下载视频资源');
    wx.cloud.downloadFile({
      fileID: vm.data.videoUrl, // 文件 ID
      success: res => {
        wx.saveVideoToPhotosAlbum({
          filePath: res.tempFilePath,
          success (res) {
            console.log('视频下载成功',res.errMsg);
            wx.showToast({
              title: '视频保存成功',
              icon:'none'
            })

          }
        })
      },
      fail: console.error
    })
  },
  //图片下载
  downloadimg(){
    var vm = this;
    console.log('图片下载',vm.data.tempFilePaths);
    wx.saveImageToPhotosAlbum({
      filePath:vm.data.tempFilePaths[0],
      success(res) {
        console.log('res',res);
        wx.showToast({
          title: '图片保存成功',
          icon:'none'
        })
       }
    })
  },
  //预览图片
  previewImage(){
    var vm = this;
    console.log('图片预览',vm.data.imgurl);
    wx.previewImage({
      current: vm.data.imgurl, // 当前显示图片的http链接
      urls: [vm.data.imgurl], // 需要预览的图片http链接列表
    })
  },
  //跳转日志页面
  toLogs(){
    wx.navigateTo({
      url: '/pages/logs/logs',
    })
  },
  //跳转朋友圈页面
  toPyq(){
    wx.navigateTo({
      url: '/pages/pyq/pyq',
    })
  }
})
